﻿Imports System.Reflection
Imports UCBase

Public Class InteractiveScreens
    Implements I_Plugin
    Private DevList As New List(Of UCBase.UCSDevice)
    Private m_Resource As UCBase.ResourceManager

    Public Function GetDevice(ByVal Name As String) As System.Windows.Forms.Control Implements I_Plugin.GetDevice
        'If Name = "MyButton" Then Return New MyButton 'Get Control from Reference Name
        If Name = "InteractiveMonitor" Then Return New InteractiveMonitor
        Return Nothing
    End Function
    Public Sub New()
        'Add Control to plugin Device List
        'DevList.Add(New UniCamBase.UniCamDevice("My Button", "MyButton", "Source", "A test button for testing"))
        DevList.Add(New UCBase.UCSDevice("Interactive Monitor", "InteractiveMonitor", "Monitor", "Interactive Monitor"))
    End Sub
    Public ReadOnly Property Devices() As System.Collections.Generic.List(Of UCBase.UCSDevice) Implements I_Plugin.Devices
        Get
            Return DevList
        End Get
    End Property

    Public WriteOnly Property Resources() As UCBase.ResourceManager Implements UCBase.I_Plugin.Resources
        Set(ByVal value As UCBase.ResourceManager)
            m_Resource = value
        End Set
    End Property

    Public Sub Unload() Implements UCBase.I_Plugin.Unload
        Me.Finalize()
    End Sub
    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
End Class
